Skip to content

ci(release): add tag-triggered release workflow#72

Merged
DemchaAV merged 1 commit into
developfrom
ci/release-workflow
May 29, 2026
Merged

ci(release): add tag-triggered release workflow#72
DemchaAV merged 1 commit into
developfrom
ci/release-workflow

Conversation

@DemchaAV
Copy link
Copy Markdown
Owner

Summary

  • Adds .github/workflows/release.yml, triggered on v* tag pushes.
  • Re-runs mvnw clean verify -pl . on the tagged commit as a green-build gate, then creates/updates a GitHub Release with that version's CHANGELOG section as the body.
  • Hyphenated tags (e.g. v1.7.0-rc.1) ship as GitHub pre-releases. Idempotent — edits the notes if the release already exists.

Why

Tag pushes previously triggered nothing; the GitHub Release was a manual step. This automates it and guarantees a tag only ships if the build is green. The version guard (#70) passes by construction since cut-release.ps1 (#71) bumps every version site in the release commit.

Test plan

  • YAML parses (1 job, 5 steps)
  • CHANGELOG extraction verified on the real file (TAG=v1.6.5 → correct section, stops at v1.6.4)
  • Pre-release detection: vX.Y.Z → stable, vX.Y.Z-rc.1 → prerelease
  • Exercised live at the v1.6.5 tag (Task Backmigrate to Java 17 #8)

Note

permissions: contents: write is scoped to this workflow only; CI stays contents: read.

release.yml fires on vX.Y.Z tag pushes: it re-runs `mvnw clean verify -pl .`
against the tagged commit as a green-build gate, then creates (or updates)
a GitHub Release whose body is that version's CHANGELOG section. Pre-release
tags (e.g. v1.7.0-rc.1) ship as GitHub pre-releases.

Removes the manual "create a GitHub Release" step from the release
checklist. The version-consistency guard passes by construction because
cut-release.ps1 bumps every version site in the release commit (#71).
@DemchaAV DemchaAV merged commit 9a72282 into develop May 29, 2026
9 checks passed
@DemchaAV DemchaAV deleted the ci/release-workflow branch May 29, 2026 08:48
DemchaAV added a commit that referenced this pull request May 29, 2026
…ase.yml (#74)

Updates the release runbook to match the v1.6.5 plumbing (#69 #70 #71 #72 #73):

- README install snippets now flip in the release commit (cut-release.ps1),
  enforced by VersionConsistencyGuardTest — replaces the old "stay pinned to
  the previous tag, flip post-release" model that contradicted the guard.
- Version lives in four sites (library pom, aggregator, inherited
  examples/benchmarks parents); the script bumps all four + README in one pass.
- GitHub Release is created automatically by release.yml on tag push; the
  manual gh release create is now the documented fallback.
- Adds VersionConsistencyGuardTest to the pre-release guard-suite gate, and a
  v1.6.5 lesson that supersedes the v1.6.0 graphcompose.version property note.

The graphcompose-release-engineer skill (local config, Claude + Codex copies)
was aligned in lockstep.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant